package com.keitaitoys.fonteditor.gui.editor;

import java.awt.Cursor;
import java.awt.event.MouseEvent;

public class SelectTool extends Tool {
	
	//////////////////////////////////////////////////////////////////////
	// Description ///////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////
	// Consts ////////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	private static final Cursor cursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); 

	//////////////////////////////////////////////////////////////////////
	// Variables /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	private EditorPanel editorPane;
	
	//////////////////////////////////////////////////////////////////////
	// Constructor ///////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	public SelectTool(EditorPanel editorPane) {
		
		this.editorPane = editorPane;
	}
	
	//////////////////////////////////////////////////////////////////////
	// Functions /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	public void install() {
		
		editorPane.addMouseListener(this);
		editorPane.addMouseMotionListener(this);

		if(editorPane.getMousePosition() != null) {
			editorPane.setCursor(cursor);
		}
	}

	//////////////////////////////////////////////////////////////////////
	// Functions /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////

	public void uninstall() {
		
		editorPane.removeMouseListener(this);
		editorPane.removeMouseMotionListener(this);

		if(editorPane.getMousePosition() != null) {
			editorPane.setCursor(null);
		}
	}

	//////////////////////////////////////////////////////////////////////
	// Functions /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////
	
	public void mouseEntered(MouseEvent e) {
		
		editorPane.setCursor(cursor);
	}

	//////////////////////////////////////////////////////////////////////
	// Functions /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////
	
	public void mouseExited(MouseEvent e) {
		
		editorPane.setCursor(null);
	}
	
	//////////////////////////////////////////////////////////////////////
	// Functions /////////////////////////////////////////////////////////
	//////////////////////////////////////////////////////////////////////
	
	public void mousePressed(MouseEvent e) {
		
//		System.out.println("press in select tool!");
	}
}
